Personal computers traditionally use only directly accessible resources to execute programs and store files. But as network access has become more widespread, it has become feasible to execute programs and store files using remote resources. The use of remote resources, commonly referred to as cloud computing, can allow a user to access a file or an application using any device that can access a network. Cloud computing may allow a user to establish an editing session for a computer file stored on a remote server, in which the user may access and edit the file located on the server rather than editing the file on one device and then propagating the edited file to other devices. Cloud computing can thereby reduce the user's need for local computer resources and assure the user that, regardless of which device is available, the user will be able to access an up-to-date version of a desired file or application. Cloud computing can also allow multiple users to join such an editing session, allowing even geographically dispersed users to collaborate on a computer file in real time.
Collaboration features of modern cloud computing systems are only useful when a user recognizes an opportunity to collaborate with other users on a file. Users must know a collaborator before they can provide file access to the collaborator, and must realize that the other collaborator is interested in working on such a file before they will provide such access. Document processors currently in use, whether provided by a cloud computing system or not, cannot identify possible collaborators and suggest that they join the same editing session.
Therefore there is a need for cloud computing systems which can efficiently find collaborators.